
package BUFE;
/**
 * 
 * Classe destinée à proposer des méthodes statiques générales
 */
public class MethodeManager {
    
    /**
     * Méthode vérifiant qu'une chaîne de caractères peut être correctement convertie en entier
     * @param entier définit un String censé représenter un entier
     * @return -1 si le string passé en paramètre ne peut pas être converti en entier, sinon la valeur passée
     */
    public static int testEntier (String entier)
    {
        try
        {
            return Integer.parseInt(entier);
        }
        catch (NumberFormatException e)
        {
            return -1;
        }                
    }
    
    /**
     * Méthode vérifiant qu'une chaîne de caractères peut être correctement convertie en float
     * @param flottant définit un String censé représenter un float
     * @return O si le string passé en paramètre ne peut pas être converti en float, sinon la valeur passée
     */
    public static float testFloat (String flottant)
    {
        try
        {
            return Float.parseFloat(flottant);
        }
        catch (NumberFormatException e)
        {
            return 0f;
        }                
    }
    
    /**
     * Méthode vérifiant qu'une chaîne de caractères est correctement formatée pour être un e-mail
     * @param email définit un String censé représenter un e-mail
     * @return true si le string passé en paramètre correspond à la regular expression d'un e-mail
     */
    public static boolean testEmail(String email) {
        return (email.trim().matches("^[_a-zA-Z0-9-]+(\\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)+$")) ? true : false;
    }
    
    /**
     * Méthode vérifiant qu'une chaîne de caractères est correctement formatée pour être un numéro de téléphone (au moins 8 chiffres)
     * @param tel définit un String censé représenter un numéro de téléphone
     * @return true si le string passé en paramètre correspond à la regular expression d'un numéro de téléphone (au moins 8 chiffres)
     */
    public static boolean testTelephone(String tel) {
        return (tel.trim().matches("[^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9][^0-9]*[0-9].*")) ? true : false;
    }
    
}
